Interference and/or power reduction for multiple relay nodes using cooperative beamforming

ABSTRACT

Systems and methods for interference and/or power reduction for multiple relay pairs using cooperative beamforming are provided. A method of operation of a network node in a cellular communications system includes determining beamforming weights for multiple of subchannels for each of multiple relay nodes such that a parameter is minimized. The parameter is a maximum per subchannel interference and/or per relay power usage. Determining the beamforming weights includes determining a dual problem of the minimization of the parameter where a solution maximizing the dual problem will minimize the parameter; reformulating the dual problem into a semidefinite programming (SDP) problem; and determining if signal-to-noise ratio (SNR) constraints are active. If the SNR constraints are all active, the method includes determining optimal beamforming weights a first way and if the SNR constraints are not all active, determining optimal beamforming weights a second way. In some embodiments, the performance of relays is improved.

RELATED APPLICATIONS

This application claims the benefit of provisional patent application Ser. No. 62/057,085 filed Sep. 29, 2014, and of provisional patent application Ser. No. 62/093,710 filed Dec. 18, 2014; the disclosures of which are hereby incorporated herein by reference in their entireties.

FIELD OF THE DISCLOSURE

The present disclosure relates to beamforming weights used by nodes in a wireless communication network, and in particular to methods and systems for determining beamforming weights for a relay node in a wireless communication network.

BACKGROUND

The constantly increasing demand for high data rates in cellular networks requires new approaches to meet this expectation. A challenging question for operators is how to evolve their existing cellular networks so as to meet the requirement for higher data rates. In this respect, a number of approaches are possible: i) increase the density of their existing macro base stations, ii) increase the cooperation between macro base stations, iii) deploy smaller base stations or relay nodes (RNs) in areas where high data rates are needed within a macro base stations grid, iv) employ pico or small cell overlay technology within buildings, or v) employ device-to-device communications to offload traffic from the cellular macro.

Building a denser macro base station grid, while simultaneously enhancing the cooperation between macro base stations (hence either using options i) or ii) above) is definitely a solution that meets the requirement for higher data rates; however such an approach is not necessarily a cost-efficient option, due to the costs and delays associated with the installation of macro base stations, especially in urban areas where these costs are significant.

Deploying relay nodes as required in a network to grow its capacity and coverage can be advantageous from a perspective of ease and flexibility of deployment, however the robustness of the coverage and capacity provided by overlay relay nodes in a macro network, is not always guaranteed due to possible interference from relay nodes in adjacent cells to the cell of the desired signal transmissions.

One of the main objectives of low power nodes is to absorb as many users as possible from a macro layer in order to offload the macro layer and allow for higher data rates in both the macro and in a pico layer. In this respect, several techniques have been discussed and proposed within 3GPP:

-   -   (1) Extending the range of small cells or relays (i.e. low power         nodes or LPNs) by using cell specific cell selection offsets.     -   (2) Increasing the transmission power of Low Power Nodes (LPNs)         simultaneously by setting appropriately the UL power control         target P0 for the users connected to low power nodes.     -   (3) Employing beamforming at LPNs acting as relays for         communication between the serving macro base stations as well as         between receiver mobile devices or user equipment (UE).

Thus the solution of deploying LPNs acting as relays within the already existing macro layer grid is an appealing option because since these LPNs are anticipated to be more cost-efficient than macro base stations, their deployment time and cost will be less. In such scenarios, use of relay nodes that employ in-band backhaul may provide a viable option that provides pico cell type coverage either indoors or outdoors and mitigates the cost and effort of deploying land-line backhaul to all the pico base stations.

As noted above, there exists the potential for relay based communications to cause interference to both the transmissions in the serving cell of desired signals as well as to adjacent cells in the network.

Deployment of relay nodes that do not cause interference can, in many instances, require careful deployment of the location and orientation of the antenna of relay nodes which can impact the ease and cost of deployment. This may require additional time and labor which is undesirable. As such, systems and methods for interference and/or power reduction for relay nodes are needed.

SUMMARY

Systems and methods for interference and/or power reduction for multiple relay nodes using cooperative beamforming are provided. In some embodiments, a method of operation of a network node in a cellular communications system includes determining beamforming weights for multiple subchannels for each of multiple relay nodes such that a parameter is minimized. In some embodiments, this minimization is for a defined channel quality. In some embodiments, this channel quality may be Signal-to-Noise Ratio (SNR), Signal-to-Interference-plus-Noise Ratio (SINR), or any other metric bounding the quality of the desired signal. The parameter is a maximum per subchannel interference and/or a maximum per relay power usage. Determining the beamforming weights includes determining a dual problem of the minimization of the parameter where a solution maximizing the dual problem will minimize the parameter; reformulating the dual problem into a semidefinite programming (SDP) problem; and determining if signal-to-noise ratio (SNR) constraints are all active. If the SNR constraints are all active, the method includes solving the SDP problem and determining the beamforming weights for each of the relay nodes a first way such that the parameter is minimized. If the SNR constraints are not all active, the method includes solving the SDP problem and determining the beamforming weights for each of the plurality of relay nodes a second way such that the parameter is minimized. According to some embodiments, the performance of relay nodes in a wireless communication system (e.g. a wireless cellular network) is improved.

Advantageously, some embodiments of the present disclosure reduce the maximum per-sub-channel interference between relay nodes and the per-relay power is consumed in an efficient way, particularly as the number of relay nodes becomes large.

The present disclosure comprises embodiments which are applicable to any type of node in a network that can be configured to determine beamforming weights for a relay node. This may include, for example, network nodes, relay nodes, or wireless devices, such as User Equipment (UEs). In one example, a beamforming controller in or associated with a cell receives channel information (e.g. Channel State Information (CSI)) from network nodes in the cell at the receiving end of a radio link (e.g. relay nodes and/or UEs) and possibly channel information from other beamforming controllers in neighboring cells. Based on the channel information received, the beamforming controller determines beamforming weights for use in relay nodes in accordance with the principles described herein.

In some embodiments, the method also includes communicating the determined beamforming weights to each of the relay nodes.

In some embodiments, solving the SDP problem the second way includes solving the SDP problem and determining the beamforming weights for each of the relay nodes using an iterative method such that the parameter is minimized. In some embodiments, solving the SDP problem using the iterative method includes choosing a proper subset of the subchannels; determining beamforming weights for the proper subset of the subchannels such that the parameter is minimized; and reformulating the SDP problem to remove effects of the proper subset of the plurality of subchannels. If solving the reformulated SDP problem is sufficient to obtain the beamforming weights for the subchannels other than the proper subset of the subchannels, the method includes solving the reformulated SDP problem to obtain the beamforming weights for the subchannels other than the proper subset of the subchannels. If solving the reformulated SDP problem is insufficient to obtain the beamforming weights for the subchannels other than the proper subset of the subchannels, the method includes choosing a second proper subset of the subchannels from the subchannels other than the first proper subset; determining beamforming weights for the second proper subset of the subchannels such that the parameter is minimized; and reformulating the SDP problem to remove effects of the second proper subset of the plurality of subchannels. If solving the reformulated SDP problem is sufficient to obtain the beamforming weights for the subchannels other than the second proper subset of the subchannels, the method includes solving the reformulated SDP problem to obtain the beamforming weights for the subchannels other than the second proper subset of the plurality of subchannels.

In some embodiments, the method also includes repeating the steps of choosing, determining, reformulating, and solving if the reformulated SDP problem cannot be solved to obtain the beamforming weights for the subchannels other than the proper subset of the subchannels, until the beamforming weights for all of the subchannels are determined.

In some embodiments, solving the SDP problem the first way includes solving the SDP problem and determining the optimal beamforming weights formulaically. In some embodiments, prior to reformulating the dual problem into the SDP problem, the method includes checking a necessary feasibility condition. In some embodiments, the network node is a base station in communication with each of the relay nodes.

In some embodiments, a network node in a cellular communications network includes a processing module and a memory module. The memory module stores instructions executable by the processing module whereby the network node is operable to perform any of the methods discussed above.

Those skilled in the art will appreciate the scope of the present disclosure and realize additional aspects thereof after reading the following detailed description of the preferred embodiments in association with the accompanying drawing figures.

BRIEF DESCRIPTION OF THE DRAWING FIGURES

The accompanying drawing figures incorporated in and forming a part of this specification illustrate several aspects of the disclosure, and together with the description serve to explain the principles of the disclosure.

FIG. 1 illustrates one example of a wireless communication network in which multiple relay nodes are used to relay communications between a plurality of transmitters and a plurality of receivers in accordance with the principles described herein;

FIG. 2 illustrates another example of a wireless communication network in which relay nodes are used to relay communications between a plurality of network nodes and a plurality of wireless devices in accordance with the principles described herein;

FIG. 3 illustrates a flowchart for the minimization of a maximum per subchannel interference, according to some embodiments of the current disclosure;

FIG. 4 illustrates a flowchart for the minimization of a maximum per relay power usage, according to some embodiments of the current disclosure;

FIG. 5 illustrates one example of the wireless devices of FIGS. 1 and 2, according to some embodiments of the current disclosure;

FIG. 6 illustrates one example of the network nodes of FIGS. 1 and 2, according to some embodiments of the current disclosure;

FIG. 7 illustrates another example of the wireless devices of FIGS. 1 and 2, according to some embodiments of the current disclosure; and

FIG. 8 illustrates another example of the network nodes of FIGS. 1 and 2, according to some embodiments of the current disclosure.

DETAILED DESCRIPTION

The embodiments set forth below represent the necessary information to enable those skilled in the art to practice the embodiments and illustrate the best mode of practicing the embodiments. Upon reading the following description in light of the accompanying drawing figures, those skilled in the art will understand the concepts of the disclosure and will recognize applications of these concepts not particularly addressed herein. It should be understood that these concepts and applications fall within the scope of the disclosure and the accompanying claims.

The present disclosure includes embodiments which can be implemented in any network node and/or a wireless device (e.g. a user equipment (UE)) configured as a relay node (e.g. capable of relaying/forwarding signals from a source node to a destination node). The network node herein can be a serving network node of the UE or any network node with which the UE can establish or maintain a communication/session link and/or receive information (e.g. via a broadcast channel).

The embodiments use a generic term ‘network node’ that may be any kind of network node. Examples include eNode Bs, Node Bs, Base Stations, wireless Access Points (AP), base station controllers, radio network controllers, relays, donor node controlling relays, Base Transceiver Stations (BTS), transmission points, transmission nodes, source nodes, destination nodes, Remote Radio Head (RRH) devices, Remote Radio Unit (RRU) devices, nodes in Distributed Antenna System (DAS), Core Network (CN) node, Mobility Management Entity (MME), etc.

The embodiments also use a generic term ‘UE”. However a UE can be any type of wireless device, which is capable of at least communicating with a wireless network. Examples of such UEs are smart phones, Machine Type Communications (MTC) devices, Machine-to-Machine (M2M) devices, Personal Digital Assistants (PDAs), tablet computers (e.g. iPAD), sensors, modems, Laptop Embedded Equipped (LEE) devices, Laptop Mounted Equipment (LME), Universal Serial Bus (USB) dongles etc.

The embodiments also use a generic term ‘relay”. However, a relay can be any type of network node or wireless device, which is capable of at least receiving wireless communication from one or more source network nodes and retransmitting through wireless communication to one or more destination network nodes. Examples of relay nodes include network nodes, RRH/RRU devices, and Device-To-Device (D2D) capable UEs.

Although terminology from 3GPP LTE (or Evolved Universal Terrestrial Access Network (E-UTRAN)) has been used in example embodiments, the present disclosure is not limited to such systems and could apply to other wireless systems, including, for example, Wideband Code Division Multiple Access (WCDMA), UTRA (Universal Mobile Telecommunications System Terrestrial Radio Access Network) Frequency-Division Duplexing (FDD), UTRA Time-Division Duplexing (TDD), and Global System for Mobile Communications (GSM)/GSM Enhanced Data rates for GSM Evolution (EDGE) Radio Access Network (GERAN)/EDGE.

The relay node examples described herein are configured to be served by or operate with a Single Carrier (SC), either at a UE (i.e. single carrier operation of the UE) or in a network node. However, the present disclosure is equally applicable to multi-carrier or carrier aggregation based communication. In some embodiments, this is accomplished by viewing the aggregate of all subchannels as a single carrier.

Referring now to FIG. 1, there is shown a wireless communication network 10 in which a plurality of source network nodes TX₁, . . . TX_(M) communicate wirelessly with a plurality of destination nodes RX₁, . . . RX_(M) (e.g. UEs) via a plurality of relay nodes RN₁, . . . RN_(N). For the purpose of this example and description therein, it is assumed that all network nodes shown (source/relay/destination nodes) have a single antenna. However, the principles described herein can also apply to scenarios in which each network node is comprised of more than one antenna. Furthermore it is assumed that each source-destination pair operates in a specific frequency band and/or time resources (e.g. a specific set of Resource Blocks (RBs)) such that the communication channels corresponding to different pairs are orthogonal. In the example shown in FIG. 1, the source nodes TX₁, . . . TX_(M) are assumed to be operating within one network node (e.g. an eNodeB) in a single cell (the cell of interest) where each source-destination pair uses a different set of RBs. Other implementations are possible. It is also assumed that each relay node RN₁, . . . RN_(N) can be assigned to multiple source-destination pairs such that the available per-relay power is shared among all pairs and that the total power available at the relays, P_(r), can be allocated across different sub-channels.

In this example, each source network node TX₁, . . . TX_(M) transmits its signal to its corresponding destination node RX₁, RX_(M) using the relay nodes RN₁, . . . RN_(N). Each relay node transmits the amplified received signal (or some other version) to one or more destinations nodes RX₁, . . . RX_(M). The source nodes TX₁, . . . TX_(M) each communicate via a source-relay subchannel with one or more of the relay nodes RN₁, . . . RN_(N). In the specific example of FIG. 1, source node TX₁ communicates via subchannels 11, 12 with relay nodes RN₁ and RN_(N) while source node TX_(M) communicates via source-relay subchannels 13 and 14 with relay nodes RN₁ and RN_(N). Similarly, the relay nodes RN₁, . . . RN_(N) communicate with the destination nodes RX₁, . . . RX_(M) via one or more relay-destination subchannels. Relay node RN₁ communicates via subchannels 15, 16 with destination node RX₁ and RX_(M) while relay node RN_(N) communicates via subchannels 17 and 18 with destination nodes RX₁ and RX_(M). In FIG. 1, the source-relay and relay-destination subchannels corresponding to source-destination pairs are shown as solid lines, while the interference caused by the relay nodes RN₁, . . . RN_(N) at destination nodes RX_(M), . . . RX_(M) of another (neighboring) cell is represented as dotted lines (as subchannels A, B, C, and D). Such interference is in part a result of the reuse by source-destination pairs in the neighboring cell of the same frequency band and/or time resources (e.g. same RBs) as that used by the source-destination pairs in the cell of interest.

In the example of FIG. 1, the channel between a given source-destination node pair is the sum of all of the source-relay subchannels from the source node TX₁, . . . TX_(M) of that pair to one or more relay nodes RN₁, . . . RN_(N) and all of the sub-channels from the one or more relay nodes RN₁, . . . RN_(N) to the destination node RX_(M), . . . RX_(M) of that pair.

Referring now to FIG. 2, there is shown another example of a wireless communication network 20 with a plurality of network nodes 22, 24, 26, 28. Each network node 22, 24, 26, and 28 in this example each includes a plurality of source network nodes TX₁, . . . TX_(M) configured to communicate wirelessly with a plurality of destination nodes RX₁, . . . RX_(M) (e.g. UEs) via a plurality of relay nodes RN₁, . . . RN_(N). As used herein, a source network node is the source of a transmission and may be a base station or a separate transmitter of a base station, or perhaps an RRH, among other possibilities. A relay node receives transmissions and relays them by transmitting them again. A destination node is the intended destination for a transmission. For clarity, only the sources nodes TX₁, . . . TX_(M) of network node 26, relay nodes RN₁, . . . RN_(N) and destination nodes RX₁, . . . RX_(M) (UEs) of cell 308 are labelled as such and hereinafter described. As with the example of FIG. 1, it is assumed that all network nodes shown (source/relay/destination) have a single antenna, but the principles described herein can also apply multiple antenna nodes. Furthermore it is assumed that each source-destination pair operates in a specific frequency band and/or time resources (e.g. a specific set of RRBs) such that the communication channels corresponding to different pairs are orthogonal. In the example shown in FIG. 2, the source nodes TX₁, . . . TX_(M) are assumed to be operating within one network node 26 (e.g. an eNodeB) in a single cell 30 (the cell of interest) where each source-destination pair uses a different set of RBs. Other implementations are possible. It is also assumed that each relay node RN₁, . . . RN_(N) can be assigned to multiple source-destination pairs such that the available per-relay power is shared among all pairs and that the total power available at the relays, P_(r), can be allocated across different subchannels.

In the example of FIG. 2, each source network node TX₁, . . . TX_(M) transmits its signal to its corresponding destination node RX₁, RX_(M) using the relay nodes RN₁, . . . RN_(N). Each relay node transmits the amplified received signal (or some other version) to one or more destinations nodes RX₁, . . . RX_(M). The source nodes TX₁, . . . TX_(M) each communicate via a source-relay subchannel with one or more of the relay nodes RN₁, . . . RN_(N). The relay nodes RN₁, . . . RN_(N) each communicate with the destination nodes RX₁, . . . RX_(M) via a relay-destination subchannel. In FIG. 2, the source-relay and relay-destination subchannels corresponding to source-destination pairs are shown as solid lines while the interference caused by the relay nodes RN₁, . . . RN_(N) at destination nodes RX₁, . . . RX_(M) of other (neighboring) cells (e.g. cells 32, 34, 36) is represented as dotted lines. Such interference is in part a result of the reuse by source-destination pairs in the neighboring cells of the same frequency band and/or time resources (e.g. same RBs) as that used by the source-destination pairs in cell 30 (the cell of interest). The channel between a given source-destination node pair is the sum of all of the source-relay sub-channels from the source node TX₁, . . . TX_(M) of that pair to one or more relay nodes RN₁, . . . RN_(N) and all of the sub-channels from the one or more relay nodes RN₁, . . . RN_(N) to the destination node RX₁, . . . RX_(M) of that pair.

According to an example embodiment of the present disclosure, a beamforming controller in or associated with a cell of interest operates to determine beamforming weights for the relay nodes RN₁, . . . RN_(N) of that cell such that for a given SNR (which is subject to a certain Quality of Service(QoS)), the weights determined reduce (e.g. minimize) the maximum per sub-channel interference at destination nodes in neighboring cells and/or the maximum per-relay power usage. As explained below in further detail, in some examples, the beamforming controller operates to receive channel information (e.g. Channel State Information (CSI)) from network nodes in the cell at the receiving end of a radio link (e.g. relay nodes and/or UEs) and possibly channel information from other beamforming controllers in neighboring cells. Based on the channel information received, the beamforming controller determines beamforming weights for use in the relay nodes RN₁, . . . RN_(N) in accordance with the principles described herein.

Although a centralized beamforming controller is described, it is understood that the beamforming processing functionality described herein for the relay nodes RN₁, . . . RN_(N) could be distributed across one or more network nodes. For example, the present disclosure can also be applied to an arrangement where each relay node RN₁, . . . RN_(N) obtains the CSI information described therein and determines its own beamforming weights. For clarity and brevity, the following description is directed to a centralized beamforming controller.

The following description provides a basis and context for minimizing the maximum per subchannel interference. Some methods for achieving this are also discussed.

The received signal at the m-th subchannel of the i-th relay node RN₁, . . . RM_(N) is given by:

y _(m,i)=√{square root over (P ₀)}h _(m,i) s _(m) +n _(r,m,i),  (1)

where s_(m) is the transmitted symbol with transmission power P₀ and n_(r,m,i) denotes Additive White Gaussian Noise (AWGN). Assuming E[|s_(m)|²]=1, E[s_(m)s*_(n)]=0, E[n_(r,m,i)n*_(r,m,j)]=0, E[|n_(r,m,i)|²]=σ_(r) ² for m=1, . . . , M, i=1, . . . , N, n≠m, j≠i, the vector of received signals at the m-th subchannel of all the relay nodes RN₁, . . . RN_(N) is given by:

z _(m)=√{square root over (P ₀)}h _(m) s _(m) +n _(r,m),  (2)

where h_(m)

[h_(m,1), . . . , h_(m,N)]^(T), in which h_(mi) denotes the subchannel from the m^(th) transmitter to the i^(th) relay node and n_(r,m)

=[n_(r,m,1), . . . , n_(r,m,N)]^(T). Each relay node RN₁, . . . RN_(N) multiplies the received signal at different subchannels by a complex coefficient, w_(m,i), and transmits the result in the corresponding channel. Let g_(m)

[g_(m,1), . . . , g_(m,N)]^(T), where g_(m,i) denotes the channel from the i-th relay to the m-th destination. The received signal at the m-th destination node RX₁, . . . RX_(M) is given by:

$\begin{matrix} {r_{m} = {{g_{m}^{T}W_{m}z_{m}} + n_{m}}} & (3) \\ {\mspace{25mu} {{= {{\sqrt{P_{0}}g_{m}^{T}W_{m}h_{m}s_{m}} + {g_{m}^{T}W_{m}n_{r,m}} + n_{m}}},}} & (4) \end{matrix}$

where, W_(m)

diag(w_(m,1), . . . , w_(m,N)), and n_(m) denotes AWGN at the m-th destination node RX₁, RX_(M). The per-antenna power constraint at the i-th relay node RN₁, . . . RN_(N) is expressed as

$\begin{matrix} {{\sum\limits_{m = 1}^{M}\; \left| w_{m,i} \middle| {}_{2}{\left\lbrack R_{y,m} \right\rbrack_{i,i} \leq P_{r}} \right.},} & (5) \end{matrix}$

for m=1, . . . , M, where R_(y,m)

P₀h_(m)h_(m) ^(H)+σ_(r) ²I. The signal power at the m-th destination node RX₁, . . . RX_(m) is given by:

$\begin{matrix} \begin{matrix} {P_{\overset{\sim}{S},m} = {P_{0}\left\lbrack {g_{m}^{T}W_{m}h_{m}h_{m}^{H}W_{m}^{H}g_{m}^{*}} \right\rbrack}} \\ {{= {P_{0}w_{m}^{H}F_{m}w_{m}}},} \end{matrix} & (6) \end{matrix}$

where w_(m)

diag(W_(m)) and F_(m)

f*_(m)f_(m) ^(T), where f_(m)=g_(m)

h_(m)

[h_(m,1)g_(m,1), . . . , h_(m,N)g_(m,N)]^(T). Noise power at the m-th destination node RX₁, . . . RX_(m) is obtained as per the following equation:

$\begin{matrix} \begin{matrix} {P_{S,m} = {{\left\lbrack {n_{r,m}^{H}W_{m}^{H}g_{m}^{*}g_{m}^{T}W_{m}n_{r,m}} \right\rbrack} + \sigma_{d}^{2}}} \\ {{= {{w_{m}^{H}G_{m}w_{m}} + \sigma_{d}^{2}}},} \end{matrix} & (7) \end{matrix}$

where G_(m)

σ_(r) ²diag(g*_(m)g_(m) ^(T)). Hence, the SNR at the m-th destination node RX₁, . . . RX_(M) is given by:

$\begin{matrix} {{SNR}_{m} = {\frac{P_{0}w_{m}^{H}F_{m}w_{m}}{{w_{m}^{H}G_{m}w_{m}} + \sigma_{d}^{2}}.}} & (8) \end{matrix}$

Consider a neighboring cell (such as cells 32, 34, 36 of FIG. 2) which is placed near the desired cell (such as cell 30 of FIG. 2). At each destination node RX₁, . . . RX_(m) of the neighboring cell, the interference from the relay nodes (such as relay nodes RN₁, . . . RN_(N) of cell 30 of FIG. 2) of the desired cell transmitting in the same subchannel is received. Let {tilde over (g)}_(m) denote the second hop m-th interference subchannel from the desired cell to the neighboring one, i.e., the vector of channels from the N relays of the desired cell to the m-th receiver in the neighboring cell. The received signals at the m-th destination node of the neighboring cell is as follows:

{tilde over (r)} _(m) ={tilde over (g)} _(m) ^(T) W _(m) z _(m) +ñ _(m),  (9)

where W_(m) is defined as in (1). Let I_(m) denote the interference power of at the m-th subchannel of the neighboring cell. Substituting the received signals at the destination node results in:

I _(m) =P ₀ w _(m) ^(H) {tilde over (F)} _(m) w _(m) +w _(m) ^(H) {tilde over (G)} _(m) w _(m),  (10)

where {tilde over (F)}_(m)

{tilde over (f)}*_(m){tilde over (f)}_(m) ^(T), {tilde over (f)}_(m)

{tilde over (g)}_(m)

h_(m), and {tilde over (G)}_(m)

σ_(r) ²diag({tilde over (g)}*_(m){tilde over (g)}_(m) ^(T)).

The following parameters are employed in the method to reduce (i.e. minimize) the maximum per-subchannel interference. In some embodiments, this minimization is for a defined channel quality. In some embodiments, this channel quality may be Signal-to-Noise Ratio (SNR), Signal-to-Interference-plus-Noise Ratio (SINR), or any other metric bounding the quality of the desired signal:

h_(m): the channel response vector from the m^(th) transmitter TX₁, . . . TX_(m) to all of the relay nodes RN₁, . . . RN_(N). g_(m): the m^(th) sub-channel response vector from the relay nodes RN₁, . . . RN_(N) to the m^(th) destination node RX₁, . . . RX_(m). {tilde over (g)}_(m): the m^(th) interference sub-channel response vector from the relay nodes RN₁, . . . RN_(N) to the destination nodes of the neighboring cell. f_(m): element-wise vector multiplication of g_(m) and h_(m) {tilde over (f)}_(m): element-wise vector multiplication of {tilde over (g)}_(m) and h_(m) γ_(m): SNR of the mth subchannel P₀: the transmit power F_(m)

f*_(m)f_(m) ^(T), {tilde over (F)}_(m)

{tilde over (f)}*_(m){tilde over (f)}_(m) ^(T), G_(m)

σ_(r) ²diag(g*_(m)g_(m) ^(T)). {tilde over (G)}_(m)

σ_(r) ²diag({tilde over (g)}*_(m){tilde over (g)}_(m) ^(T)). {tilde over (B)}_(m)

P₀{tilde over (F)}_(m)+{tilde over (G)}_(m) E[|n_(r,m,i)|²]=σ_(r) ²

In the example shown in FIGS. 1 and 2, CSI measurements are obtained by a centralized beamforming controller (i.e., the desired system/cell has information of {f_(m),g_(m),{tilde over (g)}_(m)}_(m=1) ^(M). Using this interference CSI, the beamforming controller can determine optimized beamforming weights for the the relay nodes RN₁, . . . RN_(N) of the desired system such that the maximum generated interference at the destination of neighboring cells is reduced or, in some cases, minimized. Note that the interference CSI is denoted by tilde.

In the case of a centralized beamforming scenario, it is assumed that a beamforming controller is present in each cell, and may be co-located with a network node (i.e. the base station). The functions of the beamforming controller may include the following:

-   -   (1) to collect the CSI of each radio link within its own cell,         from the node at the receiving end of the link;     -   (2) to collect the CSI of each radio link from interfering         relays in neighbouring cells to destination mobile nodes in its         own cell, and to send such CSI to the beamforming controller of         each neighboring cell containing interfering relays;     -   (3) to collect interference CSI from beamforming controllers in         neighbouring cells;     -   (4) to compute the optimal beamweights,     -   (5) to send the beamweights to the relays.

Each network node at the transmitting end of a radio link sends pilot or reference symbols periodically or on-demand. Each network node at the receiving end of a radio link measures the CSI of this link by observing the pilot symbols sent by the network node at the transmitting end. The receiving network node sends its CSI measurements or a quantized version of the CSI measurements to the beamforming controller in its own cell via a separate control channel.

Let R_(m)

=diag([R_(y,m)]_(1,1), . . . , [R_(y,m)]_(N,N)) and D_(i) denote the N×N diagonal matrix with 1 in the i-th diagonal and zero otherwise. The problem of minimizing the maximum per-subchannel interference power subject to per relay power constraint and minimum QoS guarantee, in terms of received SNR, is given by:

$\begin{matrix} {\min\limits_{w_{1},\cdots,w_{M},\overset{\sim}{\theta}}\overset{\sim}{\theta}} & (11) \\ {{{{subject}\mspace{14mu} {to}\mspace{14mu} w_{m}^{H}{\overset{\sim}{B}}_{m}w_{m}} \leq \overset{\sim}{\theta}},{m = 1},\cdots,M,} & (12) \\ {{{\sum\limits_{m = 1}^{M}\; {w_{m}^{H}R_{m}D_{i}w_{m}}} \leq P_{r}},{i = 1},\cdots,N,} & (13) \\ {{\frac{P_{0}w_{m}^{H}F_{m}w_{m}}{{w_{m}^{H}G_{m}w_{m}} + \sigma^{2}} \geq \gamma_{m}},{m = 1},\cdots,M,} & (14) \end{matrix}$

where {tilde over (B)}_(m)

P₀{tilde over (F)}_(m)+{tilde over (G)}_(m) for m=1, . . . , M . . . .

The upper-bound of SNR_(m) in (8) is obtained by finding the asymptotic SNR_(m) as σ²→0 in the denominator and solving the generalized eigenvalue problem i.e.,

SNR _(UP,m) =P ₀ f _(m) ^(H) G _(m) ^(†) f _(m).  (17)

A necessary condition for feasibility of equation (11) is as follows:

P ₀ f _(m) ^(H) G _(m) ^(†) f _(m)/γ_(m)≧1, for m=1, . . . ,M.  (18)

An SDP Based Solution for optimum dual variables can be found by denoting a

[−σ²1_(M×1) ^(T), P_(r)1_(N×1) ^(T),0_(M×1) ^(T)]^(T) and b

[0_((M+N)×1) ^(T),1_(M×1) ^(T)]^(T). The dual problem is given by:

$\begin{matrix} {\min\limits_{\hat{x}}{{\overset{\sim}{a}}^{T}\hat{x}}} & (19) \\ {{{{subject}\mspace{14mu} {to}{\sum\limits_{i = 1}^{{2M} + N}\; {{\overset{\sim}{x}}_{i}{\overset{\sim}{\Psi}}_{m,i}}}}0},{m = 1},\cdots,M,} & (20) \\ {{\overset{\sim}{x} \succcurlyeq 0},{{{\overset{\sim}{b}}^{T}\overset{\sim}{x}} \leq 1},} & (21) \end{matrix}$

where

${{\overset{\sim}{\Psi}}_{m,m} = {{\frac{P_{0}}{\gamma_{m}}f_{m}f_{m}^{H}} - G_{m}}},{{\overset{\sim}{\Psi}}_{m,{M + j}} = {{{- R_{m}}D_{j}\mspace{14mu} {for}\mspace{14mu} j} = 1}},\cdots,N,{{\overset{\sim}{\Psi}}_{m,{M + N + m}} = {- B_{m}}}$

for m=1, . . . , M, and all other {tilde over (Ψ)} are zeros. In the following, the details of the above steps are explained. The SNR_(m) can be recast as

$\frac{\left. P_{0} \middle| {w_{m}^{H}f_{m}} \right|^{2}}{{\Pi \; G_{m}^{\frac{1}{2}}\Pi^{2}} + \sigma^{2}},$

and the optimization problem (11) is given by:

$\begin{matrix} {\min\limits_{w_{1},\cdots,w_{M},\overset{\sim}{\theta}}\overset{\sim}{\theta}} & (22) \\ {{\frac{\left. P_{0} \middle| {w_{m}^{H}f_{m}} \right|^{2}}{\left. ||{G_{m}^{\frac{1}{2}}w_{m}}||{}_{2}{+ \sigma^{2}} \right.} \geq \gamma_{m}},{m = 1},\cdots,M,} & (23) \\ {,{and}} & {(12)\mspace{14mu} (13)} \end{matrix}$

The SNR constraints can be rewritten at the relays (23) in a conic form, i.e.,

$\begin{matrix} \left. {{\sqrt{P_{0}}w_{m}^{H}f_{m}} \geq \sqrt{\gamma_{m}}}||\begin{matrix} {G_{m}^{1\text{/}2}w_{m}} \\ \sigma \end{matrix}||. \right. & (24) \end{matrix}$

Then the optimization problem (22) can be recast as:

$\begin{matrix} {\min\limits_{w_{1},\cdots,w_{M},\overset{\sim}{\theta}}\overset{\sim}{\theta}} & (25) \\ {\left. {{\sqrt{P_{0}}w_{m}^{H}f_{m}} \geq \sqrt{\gamma_{m}}}||\begin{matrix} {G_{m}^{1\text{/}2}w_{m}} \\ \sigma \end{matrix} \right.||,{m = 1},\cdots,M,} & (26) \\ {,{and}} & {(12)\mspace{14mu} (13)} \end{matrix}$

which is a second order cone programming (SOCP). SOCP is convex, and there is zero duality gap between SOCP and its dual. It can be shown that there is zero duality gap between the original nonconvex problem (11) and its dual. The dual problem associated with (11) is as follows:

$\begin{matrix} {\mspace{76mu} {\max\limits_{\overset{\sim}{\lambda},\overset{\sim}{\mu},\overset{\sim}{\alpha}}{\min\limits_{w_{m},\overset{\sim}{\theta}}{L\left( {\left\{ w_{m} \right\},\overset{\sim}{\theta},\overset{\sim}{\lambda},\overset{\sim}{\mu},\overset{\sim}{\alpha}} \right)}}}} & (27) \\ {\mspace{76mu} {{{{subject}\mspace{14mu} {to}\mspace{14mu} \overset{\sim}{\lambda}} \succcurlyeq 0},{\overset{\sim}{\mu} \succcurlyeq 0},{\overset{\sim}{\alpha} \succcurlyeq 0},\mspace{76mu} {where}}} & (28) \\ {{L\left( {\left\{ w_{m} \right\},\overset{\sim}{\theta},\overset{\sim}{\lambda},\overset{\sim}{\mu},\overset{\sim}{\alpha}} \right)} = {\overset{\sim}{\theta} + {\sum\limits_{i = 1}^{N}\; {{\overset{\sim}{\lambda}}_{i}\left( {{\sum\limits_{m = 1}^{M}\; {w_{m}^{H}R_{m}D_{i}w_{m}}} - P_{r}} \right)}} + {\sum\limits_{m = 1}^{M}\; {{\overset{\sim}{\mu}}_{m}\left( {{w_{m}^{H}{\overset{\sim}{B}}_{m}w_{m}} - \overset{\sim}{\theta}} \right)}} + {\sum\limits_{m = 1}^{M}\; {{{\overset{\sim}{\alpha}}_{m}\left( \left. {\sigma^{2} + {w_{m}^{H}G_{m}w_{m}} - \frac{P_{0}}{\gamma_{m}}} \middle| {w_{m}^{H}f_{m}} \right|^{2} \right)}.}}}} & (29) \end{matrix}$

The Lagrangian (29) can be recast as:

$\begin{matrix} {{L = {{\sum\limits_{m = 1}^{M}\; {{\overset{\sim}{\alpha}}_{m}\sigma^{2}}} + {\overset{\sim}{\theta}\left( {1 - {\sum\limits_{m = 1}^{M}\; {\overset{\sim}{\mu}}_{m}}} \right)} - {P_{r}\left( {\sum\limits_{i = 1}^{N}\; {\overset{\sim}{\lambda}}_{i}} \right)} + {\sum\limits_{m = 1}^{M}\; {{w_{m}^{H}\left( {{\overset{\sim}{K}}_{m} - {\frac{{\overset{\sim}{\alpha}}_{m}P_{0}}{\gamma_{m}}f_{m}f_{m}^{H}}} \right)}w_{m}}}}},} & (30) \end{matrix}$

where D_({tilde over (λ)})

diag({tilde over (λ)}₁, . . . , {tilde over (λ)}_(N)) and:

K _(m)

R _(m) D _({tilde over (λ)})+{tilde over (μ)}_(m) B _(m)+{tilde over (α)}_(m) G _(m).  (31)

The aim is to find the optimum objective of (11) through the dual problem (27). It is not difficult to verify the following constraints in order to avoid L₂=−∞ as the optimum value of inner minimization of (27).

$\begin{matrix} {{\overset{\sim}{K}}_{m} \succcurlyeq {\frac{{\overset{\sim}{\alpha}}_{m}P_{0}}{\gamma_{m}}f_{m}f_{m}^{H}}} & (32) \\ {{\sum\limits_{m = 1}^{M}\; {\overset{\sim}{\mu}}_{m}} \leq 1} & (33) \end{matrix}$

The optimum ({tilde over (λ)}*,{tilde over (μ)}*,{tilde over (α)}*) can be given by the SDP (19) defining x

[{tilde over (α)}₁, . . . , {tilde over (α)}_(M), {tilde over (λ)}₁, . . . , {tilde over (λ)}_(N), {tilde over (μ)}₁, . . . , {tilde over (μ)}_(M)]^(T)εP^((2M+N)×1). Hence the dual problem (27) is equivalent to:

$\begin{matrix} {{\max\limits_{\overset{\sim}{\lambda},\overset{\sim}{\mu},\overset{\sim}{\alpha}}{\sum\limits_{m = 1}^{M}\; {{\overset{\sim}{\alpha}}_{m}\sigma^{2}}}} - {P_{r}\left( {\sum\limits_{i = 1}^{N}\; {\overset{\sim}{\lambda}}_{i}} \right)}} & (34) \\ {{{subject}\mspace{14mu} {to}},,{m = 1},\cdots,M} & {(32)\mspace{14mu} (33)} \\ . & (28) \end{matrix}$

Solve the optimum {{tilde over (w)}_(m)}_(m=1) ^(M) in (11) according to the value of {α_(m)}_(m=1) ^(M)

It can be shown that (32) is equivalent to

${\frac{{\overset{\sim}{\alpha}}_{m}P_{0}}{\gamma_{m}}f_{m}^{H}{\overset{\sim}{K}}_{m}^{\dagger}f_{m}} \leq 1$

for m=1, . . . , M, where A^(†) denotes the pseudo-inverse of A. Problem (34) can be rewritten as:

$\begin{matrix} {{\max\limits_{\overset{\sim}{\lambda},\overset{\sim}{\mu}}{\max\limits_{\overset{\sim}{\alpha}}{\sum\limits_{m = 1}^{M}\; {{\overset{\sim}{\alpha}}_{m}\sigma^{2}}}}} - {P_{r}\left( {\sum\limits_{i = 1}^{N}\; {\overset{\sim}{\lambda}}_{i}} \right)}} & (35) \\ {{{{subject}\mspace{14mu} {to}\frac{{\overset{\sim}{\alpha}}_{m}P_{0}}{\gamma_{m}}f_{m}^{H}{\overset{\sim}{K}}_{m}^{i}f_{m}} \leq 1},{m = 1},\cdots,M} & (36) \\ {,.} & {(33)\mspace{14mu} (28)} \end{matrix}$

Let consider the following problem

$\begin{matrix} {{\max\limits_{\overset{\sim}{\lambda},\overset{\sim}{\mu}}{\min\limits_{\overset{\sim}{\alpha}\;}{\sum\limits_{m = 1}^{M}\; {{\overset{\sim}{\alpha}}_{m}\sigma^{2}}}}} - {P_{r}\left( {\sum\limits_{i = 1}^{N}\; {\overset{\sim}{\lambda}}_{i}} \right)}} & (37) \\ {{{{subject}\mspace{14mu} {to}\frac{{\overset{\sim}{\alpha}}_{m}P_{0}}{\gamma_{m}}f_{m}^{H}{\overset{\sim}{K}}_{m}^{\dagger}f_{m}} \geq 1},{m = 1},\cdots,M} & (38) \\ {,.} & {(33)\mspace{14mu} (28)} \end{matrix}$

For a given {{tilde over (λ)},{tilde over (μ)}}, it is not difficult to see that

$\frac{{\overset{\sim}{\alpha}}_{m}P_{0}}{\gamma_{m}}f_{m}^{H}{\overset{\sim}{K}}_{m}^{\dagger}f_{m}$

is a monotonically increasing function of {tilde over (α)}_(m)>0. As a result, both (36) and (38) are met with equality at optimality. Note that (37) is obtained by substituting

${\overset{\sim}{w}}_{m} = {\frac{P_{0}}{\gamma_{m}}{\overset{\sim}{k}}_{m}^{\dagger}f_{m}}$

into:

$\begin{matrix} {{\max\limits_{\overset{\sim}{\lambda},\overset{\sim}{\mu}}{\min\limits_{{w_{m},\overset{\sim}{\alpha}}\;}{\sum\limits_{m = 1}^{M}\; {{\overset{\sim}{\alpha}}_{m}\sigma^{2}}}}} - {P_{r}\left( {\sum\limits_{i = 1}^{N}\; {\overset{\sim}{\lambda}}_{i}} \right)}} & (39) \\ {{{{subject}\mspace{14mu} {to}\frac{\left. {{\overset{\sim}{\alpha}}_{m}P_{0}} \middle| {w_{m}^{H}f_{m}} \right|^{2}}{\left. ||{{\hat{K}}_{m}^{\frac{1}{2}}w_{m}} \right.||^{2}}} \geq \gamma_{m}},{m = 1},\cdots,M} & (40) \\ {,.} & {(33)\mspace{14mu} (28)} \end{matrix}$

Hence, the dual problem (27) is equivalent to (39). Using Lagrangian theory, results in:

$\begin{matrix} {{\overset{\sim}{\theta}}^{*} = {{{\sum\limits_{m = 1}^{M}\; {{\overset{\sim}{\alpha}}_{m}^{*}\sigma^{2}}} - {P_{r}\left( {\sum\limits_{i = 1}^{N}\; {\overset{\sim}{\lambda}}_{i}^{*}} \right)}} = {{\sigma^{2}{\sum\limits_{m = 1}^{M}\; \frac{\gamma_{m}}{P_{0}f_{m}^{H}{\overset{\sim}{K}}_{m}^{*^{\dagger}}f_{m}}}} - {{P_{r}\left( {\sum\limits_{i = 1}^{N}\; {\overset{\sim}{\lambda}}_{i}^{*}} \right)}.}}}} & (41) \end{matrix}$

Using the structure of the solution of (39), the optimum beamforming vectors {tilde over (w)}*_(m) of (11) up to a scale factor is given by:

{tilde over (w)}* _(m)={tilde over (ζ)}_(m) {tilde over (K)}* _(m) ^(†) f _(m),  (42)

where:

$\begin{matrix} {{\overset{\sim}{\zeta}}_{m}\overset{\Delta}{=}{{\sigma \left\lbrack \frac{P_{0}}{\gamma_{m}} \middle| {f_{m}^{H}{\overset{\sim}{K}}_{m}^{*^{\dagger}}f_{m}} \middle| {}_{2}{{- f_{m}^{H}}{\overset{\sim}{K}}_{m}^{*^{\dagger}}G_{m}{\overset{\sim}{K}}_{m}^{*^{\dagger}}f_{m}} \right\rbrack}^{\frac{- 1}{2}}.}} & (43) \end{matrix}$

Substituting {tilde over (w)}_(m)={tilde over (ζ)}_(m)K*_(m) ^(†)f_(m) into (13), the solution w_(m) is feasible if:

$\begin{matrix} {{{\sum\limits_{m = 1}^{M}\; {{\overset{\sim}{\zeta}}_{m}^{2}f_{m}^{H}{\overset{\sim}{K}}_{m}^{*^{\dagger}}R_{m}D_{i}{\overset{\sim}{K}}_{m}^{*^{\dagger}}f_{m}}} \leq P_{r}},} & (44) \end{matrix}$

for i=1, . . . , N.

The original non-convex problem (11) with 2M+N constraints and MN+1 variables is converted to a convex problem with M+2 constraints and 2M+N variables. In the following, the set of optimum dual variables (34) is partitioned into three cases and the algorithm is proposed to obtain the optimum beamforming vectors (if exist) for each case.

1) Case 1

If {tilde over (μ)}_(m)=0 for m=1, . . . , M and i=1, . . . , N, i.e., the constraint (12) is inactive for ∀m, there is no solution for the original problem (11). In other words, there should be at least one active constraint (12). This case happens due to infeasibility of (11), i.e., either minimum SNR guarantees (14) cannot be achieved or per relay power exceeds the given threshold in (13). In the following, it is assumed that ∃m such that μ_(m)>0.

2) Case 2

If ∀mε{1, . . . , M}, {tilde over (μ)}_(m)>0 or ∃i such that {tilde over (λ)}_(i)>0, then {tilde over (α)}_(m)>0 for m=1, . . . , M in (34). In other words, if {tilde over (K)}_(m)−α_(m)G_(m)

0 then {tilde over (α)}_(m)>0 ∀m, the

$\frac{{\overset{\sim}{\alpha}}_{m}P_{0}}{\gamma_{m}}f_{m}^{H}{\overset{\sim}{K}}_{m}^{\dagger}f_{m}$

in (36) becomes a monotonically increasing function of {tilde over (α)}_(m). Hence, the two problems (36) and (37) are equivalent and the proposed algorithm can be used to obtain {tilde over (w)}_(m) by (42) for m=1, . . . , M.

In order to have positive real-valued {tilde over (ζ)}_(m) and satisfy (15), the following sufficient conditions for feasibility should be met

$\begin{matrix} {\left. {\min\limits_{1 \leq m \leq M}\frac{P_{0}}{\gamma_{m}}} \middle| {f_{m}^{H}{\overset{\sim}{K}}_{m}^{*}{{}_{\;}^{}{}_{}^{\;}}} \middle| {}_{2}{{{- f_{m}^{H}}{\overset{\sim}{K}}_{m}^{*}{{}_{\;}^{}{}_{}^{\;}}K_{m}^{*}{{}_{\;}^{}{}_{}^{\;}}} > 0} \right.,} & (45) \\ {{\max\limits_{1 \leq i \leq N}{\sum\limits_{m = 1}^{M}\; {{\overset{\sim}{\zeta}}_{m}^{2}f_{m}^{H}{\overset{\sim}{K}}_{m}^{*}{{}_{\;}^{}{}_{}^{\;}}D_{i}{\overset{\sim}{K}}_{m}^{*}{{}_{\;}^{}{}_{}^{\;}}}}} \leq {P_{r}.}} & (46) \end{matrix}$

If either (45) or (46) is not satisfied, the optimization problem is not feasible.

3) Case 3

If ∃m such that {tilde over (μ)}_(m)>0 and {tilde over (λ)}_(i)=0 for i=1, . . . , N, (42) cannot be used for m=1, . . . , M since {tilde over (α)}_(m)=0 for some m. Let {tilde over (m)} denote the pair with {tilde over (μ)}_({tilde over (m)})>0. For simplicity, suppose {tilde over (μ)}_(m)=0 for m≠{tilde over (m)} and {tilde over (Δ)}_(i)=0 for i=1, . . . , N. Then {tilde over (α)}_({tilde over (m)})>0 and {tilde over (α)}_(m)=0 for mε{1, . . . , M}\{m}. It is verified by simulations that

${\frac{{\overset{\sim}{\alpha}}_{\overset{\sim}{m}}^{*}P_{0}}{\gamma_{\overset{\sim}{m}}}f_{\overset{\sim}{m}}^{H}{\overset{\sim}{K}}_{\overset{\sim}{m}}^{*}{{}_{\;}^{}{}_{\left. m \right.\sim}^{\;}}} = 1.$

Hence, the solution (42) can be used to obtain the beamforming vector of Assuming the original problem (11) is feasible, then {tilde over (θ)}*={tilde over (α)}_({tilde over (m)}σ) ². In order to obtain the beamforming vectors for m≠{tilde over (m)}, a solution is needed to the following feasibility problem:

$\begin{matrix} {{{{find}\mspace{14mu} {\overset{\sim}{w}}_{1}},\cdots,{\overset{\sim}{w}}_{\overset{\sim}{m} - 1},{\overset{\sim}{w}}_{\overset{.}{m} + 1},\cdots,{\overset{\sim}{w}}_{M}}{{{{subject}\mspace{14mu} {to}\mspace{14mu} {\overset{\sim}{w}}_{m}^{H}{\overset{\sim}{B}}_{m}{\overset{\sim}{w}}_{m}} < \theta^{*}},{m \in {\left\{ {1,,M} \right\} \backslash \left\{ \overset{\sim}{m} \right\}}},}} & (47) \\ {{{\sum\limits_{m = 1}^{M}\; {{\overset{\sim}{w}}_{m}^{H}R_{m}D_{i}{\overset{\sim}{w}}_{m}}} < P_{r}},{i = 1},\cdots,N,} & (48) \\ {{\frac{P_{0}{\overset{\sim}{w}}_{m}^{H}F_{m}{\overset{\sim}{w}}_{m}}{{{\overset{\sim}{w}}_{m}^{H}G_{m}{\overset{\sim}{w}}_{m}} + \sigma^{2}} > \gamma_{m}},{m \in {\left\{ {1,\cdots,M} \right\} \backslash {\left\{ \overset{\sim}{m} \right\}.}}}} & (49) \end{matrix}$

Note that w_(m) can always be scaled such that (49) is met with equality for m≠{tilde over (m)}. Furthermore, it is known (48) is not active since λ_(i)=0 for i=1, . . . , N. Among infinite possible solutions of {tilde over (w)}_(m) for m≠{tilde over (m)}, the following algorithm is proposed. As a result, the maximum interference power removing the effect of {tilde over (m)} is found.

If {tilde over (w)}_({tilde over (m)}) ^(H)R_({tilde over (m)})D_(i){tilde over (w)}_({tilde over (m)})

e_(i) for i=1, . . . , N, then a solution can be found for the following problem:

$\begin{matrix} {\min\limits_{{\overset{.}{w}}_{t},\cdots,{\overset{\sim}{w}}_{M},\delta}\delta} & (50) \\ {{{{subject}\mspace{14mu} {to}\mspace{14mu} {\overset{\sim}{w}}_{m}^{H}{\hat{B}}_{m}{\overset{\sim}{w}}_{m}} \leq \delta},{m \in {\left\{ {1,\cdots,M} \right\} \backslash \left\{ \overset{\sim}{m} \right\}}},} & (51) \\ {{{\sum\limits_{{m = 1},{m \neq \overset{.}{m}}}^{M}\; {{\overset{\sim}{w}}_{m}^{H}R_{m}D_{i}{\overset{\sim}{w}}_{m}}} \leq {P_{r} - e_{i}}},{i = 1},\cdots,N,} & (52) \\ {{\frac{P_{0}{\overset{\sim}{w}}_{m}^{H}F_{m}{\overset{\sim}{w}}_{m}}{{{\overset{\sim}{w}}_{m}^{H}G_{m}{\overset{\sim}{w}}_{m}} + \sigma^{2}} \geq \gamma_{m}},{m \in {\left\{ {1,\cdots,M} \right\} \backslash {\left\{ \overset{\sim}{m} \right\}.}}}} & (53) \end{matrix}$

Let δ* denote the optimum value of (50), and {tilde over (α)}_({tilde over (m)})>0 is supposed. If δ*<θ*, then {tilde over (w)}_({tilde over (m)}) can be found. If δ*≧θ*, then (11) is infeasible. In the following, the SDP to obtain the optimum dual variables of (50) is summarized. In a situation such as:

â

[â ₁ ^(T) ,P _(r) −e ₁ , . . . ,P _(r) −e _(N) ,â ₂ ^(T)]_(T),  (54)

{circumflex over (b)}

[0_((M+N)×1) ^(T) ,{circumflex over (b)} ₁ ^(T)]^(T),  (55)

where â₁εP^(M×1), â₂εP^(M×1), and {circumflex over (b)}₁εP^(M×1) are obtained by substituting a({tilde over (m)})=1, a(M+N+{tilde over (m)})=1 (or any arbitrary positive value), and b(M+N+{tilde over (m)})=0, respectively. The dual problem is equivalent to:

$\begin{matrix} {{\min\limits_{x}{{\overset{\_}{a}}^{T}x}}{{{{subject}\mspace{14mu} {to}{\sum\limits_{i = 1}^{{2M} + N}\; {x_{i}\Psi_{m,i}}}}0},{m = 1},\cdots,{{M.x} \succcurlyeq 0},{{{\overset{\sim}{b}}^{T}x} \leq 1},}} & (56) \end{matrix}$

where Ψ _({tilde over (m)},i)=0 and Ψ _(m,i)={tilde over (Ψ)}_(m,i) for mε{1, . . . , M}\{{tilde over (m)}} and i=1, . . . , 2M+N. By the definition of a in the the objective (56), any positive ã_({tilde over (m)}) or μ_({tilde over (m)},i) would be penalized, which would result in ã_({tilde over (m)})=0 or {tilde over (μ)}_({tilde over (m)})=0. Hence the effect of {tilde over (m)}-th pair in (56) is removed.

The above described a method and system to reduce (e.g. optimize, and in some cases, minimize) the maximum per sub-channel interference for a defined SNR (ie subject to a certain QoS). In another example, the proposed method can be described as follows:

Beamforming weights determination for use at a relay node RN₁,...RN_(N) that reduces (e.g. minimizes) the maximum per sub-channel interference for a given SNR Input: P₀, F_(m), G_(m), {tilde over (B)}_(m), σ², γ_(m), m = 1,...,M ; Output: A beamforming vector {tilde over (w)}_(m);       Check the necessary condition in (18) for the feasibility of (11) evaluating the SNR upper-bound; Solve the SDP problem (19) finding the dual variables {tilde over (α)}, {tilde over (μ)}, {tilde over (λ)} ; Obtain {tilde over (Υ)}

{m|α_(m) > 0} If {tilde over (Υ)} == {1,...,M} Compute {tilde over (K)}_(m)

 R_(m)D{tilde over (_(λ))} + {tilde over (μ)}_(m)B_(m) + {tilde over (α)}_(m)G_(m) (31); Compute the coefficient {tilde over (ζ)}_(m) and Find {tilde over (w)}_(m) = {tilde over (ζ)}_(m){tilde over (K)}_(m)ƒ_(m) (42), m = 1,...,M; else Find {tilde over (w)}_(m) (42) for all m ε {tilde over (Υ)} ; Update ā (54), b (55), and Ψ _(m,i), m = 1,...,M , i = 1,...,N ; Solve the SDP (56) finding the dual variables for m ε {1,...,M} \ {tilde over (Υ)} ; Compute the coefficient {tilde over (ζ)}_(m) and Find {tilde over (w)}_(m) = {tilde over (ζ)}_(m){tilde over (K)}_(m)ƒ_(m) (42), m ε {1, ...,M} \ {tilde over (Υ)} . end

FIG. 3 illustrates a flowchart for the minimization of a maximum per subchannel interference, according to some embodiments of the current disclosure. This flowchart discusses the actions taken as if being performed by a single node such as a network node 38. However, these steps may be performed by different nodes working together or without coordination in some embodiments. Furthermore, some of these values may be precomputed and stored in various locations if they are not expected to change. While discussed as a network node 38 performing these steps, this may be a relay node, a base station, a wireless device, or some beamforming determining node which calculates values or coordinates these calculations.

As shown in FIG. 3, the network node 38 first establishes the problem formulation and its Lagrange dual problem. This may be accomplished according to equations 11 and/or 35 discussed above (step 100). Next, in some embodiments, the necessary feasibility condition is checked as in equation 18 (step 102). Then, if the problem is feasible, the dual problem is reformulated into an SDP problem with M+2 constraints and 2M+N variables as in equation 19 (step 104). Then, the set of optimal dual variables is found which corresponds to the SNR constraints which are active (that is, the constraints that hold with equality) (step 106). This can be noted as the set {tilde over (γ)} which includes the indexes of the SNR constraints that are active.

Next, it is determined if all of the SNR constraints for all of the subchannels and destinations are active at optimality (step 108). If they are all active, then the beamforming weights can be determined a first way, e.g., formulaically, perhaps using equation 42 as described above (step 110). If this is possible, the process ends because the optimal values are already determined. However, in most realistic situations, this is not the case. If the SNR constraints are not all active, then the beamforming weights can be determined a second way, e.g., by using an iterative algorithm. Starting the iterative approach involves taking a new set of the subchannel indices fl which is any arbitrary proper subset of {tilde over (γ)}. Then the set {tilde over (γ)} is reset to be the empty set (step 112). As the iterative algorithm progresses, the subchannel weights that are optimally determined are included into the set {tilde over (γ)} until that set contains all of the subchannel indices, indicating that all of the beamforming weights have been optimally determined.

The optimal beamforming weights for the subchannels in the set Π are determined, perhaps using equation 42 as discussed above (step 114). Then the available power at each relay is updated, and the SDP is reformulated to remove the effects of the subchannels in Π which have already been solved optimally. This may use equations 54 and 55 as discussed above (step 116). The new SDP is then solved, perhaps using equation 56, and the newly active SNR constraints are determined. Π is again set to be an arbitrary subset of the subchannel indices that correspond to active constraints (step 118). Then, the set of optimally determined subchannel indices {tilde over (γ)} is updated to include the subchannel indices that are in Π (step 120). As discussed above, if {tilde over (γ)} now contains all of the subchannel indices (step 122), then the iterative method can end, and the remaining beamforming weights can be determined formulaically, perhaps using equation 42 (step 124). If the set {tilde over (γ)} does not yet contain all of the subchannel indices, the flowchart returns to step 114 and performs another iteration of the process. In some embodiments, this process is continued until all of the optimal beamforming weights have been determined.

The problem of reducing or minimizing the maximum per-relay power usage has been first studied by D. H. N. Nguyen and H. H. Nguyen, in “Power allocation in wireless multiuser multi-relay networks with distributed beamforming” IET Commun. Vol 5, pp. 2040-2051, September 2011, the disclosure of which is hereby incorporated by reference in its entirety. However, the solution proposed does not address the scenario where all of the (optimal) Lagrange dual variables corresponding to SNR constraints are not all positive (it has been observed in many simulations that some dual variables can be zero). To at least address this deficiency, and improve performance of wireless networks with relay nodes, the following is a method and system to reduce (e.g. optimize, and in some cases, minimize) the maximum per relay power usage for a defined SNR (ie subject to a certain QoS), according to another aspect of the present disclosure.

Let {circumflex over (P)}_(r) denote maximum power usage of the relay nodes RN₁, . . . RN_(N). Then the problem of reducing (e.g. minimizing) the maximum per relay power usage for a given SNR, in terms of received SNR, is given by

$\begin{matrix} {\min\limits_{w_{i},\cdots,w_{M},{\hat{P}}_{v}}{\hat{P}}_{r}} & (15) \\ {{{{subject}\mspace{14mu} {to}{\sum\limits_{m = 1}^{M}\; {w_{m}^{H}R_{m}D_{i}w_{m}}}} \leq {\hat{P}}_{r}},{i = 1},\cdots,N,} & (16) \end{matrix}$

To solve the following SDP problem and finding the dual variables {circumflex over (α)},{circumflex over (λ)}, the following SDP problem is then solved. The optimum ({circumflex over (λ)},{circumflex over (α)}) is obtained using SDP

$\begin{matrix} {{\min\limits_{y}{{\overset{\_}{a}}^{T}y}}{{{{subject}\mspace{14mu} {to}\mspace{14mu} {\overset{\sim}{b}}^{T}y} \leq 1},{{\sum\limits_{i = 1}^{M + N}\; {y_{i}\Psi_{m,i}}}0},{m = 1},\cdots,{{M.y} \succcurlyeq 0},}} & (57) \end{matrix}$

where

${\hat{a}\overset{\Delta}{=}\left\lbrack {{{- \sigma^{2}}1_{M \times 1}^{T}}, -_{N \times 1}^{T}} \right\rbrack^{T}},{\hat{b}\overset{\Delta}{=}\left\lbrack {0_{M \times 1}^{T},1_{N \times 1}^{T}} \right\rbrack^{T}},{{\hat{\Psi}}_{m,m} = {{\frac{P_{0}}{\gamma_{m}}f_{m}f_{m}^{H}} - G_{m}}},{{\hat{\Psi}}_{m,{M + j}} = {{- R_{m}}D_{j}}}$

for m=1, . . . , M, j=1, . . . , N and all other {circumflex over (Ψ)} are zeros. The dual problem associated with (15) is as follows:

$\begin{matrix} {\max\limits_{\hat{\lambda},\hat{\alpha}}{\min\limits_{w_{m},\rho_{v}}{L_{3}\left( {\left\{ w_{m} \right\},{\overset{\sim}{P}}_{r},\hat{\lambda},\hat{\alpha}} \right)}}} & (58) \\ {{{{subject}\mspace{14mu} {to}\mspace{14mu} \hat{\lambda}} \succcurlyeq 0},{\overset{.}{\alpha} \succcurlyeq 0},} & (59) \end{matrix}$

Where:

$\begin{matrix} {{L_{3} = {{\sum\limits_{m = 1}^{M}\; {{\hat{\alpha}}_{m}\sigma^{2}}} + {{\hat{P}}_{r}\left( {1 - {\sum\limits_{i = 1}^{N}\; {\hat{\lambda}}_{i}}} \right)} + {\sum\limits_{m = 1}^{M}\; {{w_{m}^{H}\left( {{R_{m}\left( D_{\hat{\lambda}} \right)} + {{\hat{\alpha}}_{m}G_{m}} - {\frac{{\hat{\alpha}}_{m}P_{0}}{\gamma_{m}}f_{m}f_{m}^{H}}} \right)}w_{m}}}}},} & (60) \end{matrix}$

and D_({circumflex over (λ)})

diag({circumflex over (λ)}₁, . . . , {circumflex over (λ)}_(N)). The dual problem (58) is equivalent to:

$\begin{matrix} {\max\limits_{\hat{\lambda},\hat{\alpha}}{\sum\limits_{m = 1}^{M}\; {{\hat{\alpha}}_{m}\sigma^{2}}}} & (61) \\ {{{{subject}\mspace{14mu} {to}\mspace{14mu} {\hat{K}}_{m}} \succcurlyeq {\frac{{\hat{\alpha}}_{m}P_{0}}{\gamma_{m}}f_{m}f_{m}^{H}}},{m = 1},\cdots,M} & (62) \\ {{\sum\limits_{i = 1}^{N}\; {\hat{\lambda}}_{i}} \leq 1} & (63) \\ {,,} & (59) \end{matrix}$

Where:

{circumflex over (K)} _(m)

R _(m)(D _({circumflex over (λ)}))+{circumflex over (α)}_(m) G _(m).  (64)

Denoting y

[{circumflex over (α)}₁, . . . , {circumflex over (α)}_(M), {circumflex over (λ)}₁, . . . , {circumflex over (λ)}_(N)], the optimum ({circumflex over (λ)},{circumflex over (α)}) is obtained using SDP, i.e., (57).

-   -   Solve the optimum in (15) according to the value of {{circumflex         over (α)}_(m)}_(m=1) ^(M)

To solve the optimum {circumflex over (P)}_(r),{ŵ_(m)}_(m=1) ^(M) in (15) according to the value of {{circumflex over (α)}_(m)}_(m=1) ^(M), using the structure of the solution of (57), the determined (optimum) beamforming vectors w_(m) of (15) up to a scale factor is given by:

ŵ _(m)={circumflex over (ζ)}_(m) {circumflex over (K)} _(m) ^(†) f _(m),  (65)

where:

$\begin{matrix} {{\hat{\zeta}}_{m}\overset{\Delta}{=}{{\sigma \left\lbrack \frac{P_{0}}{\gamma_{m}} \middle| {f_{m}^{H}{\hat{K}}_{m}^{\dagger}f_{m}} \middle| {}_{2}{{- f_{m}^{H}}{\hat{K}}_{m}^{\dagger}G_{m}{\hat{K}}_{m}^{\dagger}f_{m}} \right\rbrack}^{\frac{- 1}{2}}.}} & (66) \end{matrix}$

In some simulations, it is observed that ∃m with {circumflex over (α)}_(m)=0 in (57), while the problem (15) is feasible. In those cases, we have {circumflex over (λ)}_(i)=0 for some i. The constraint (62) is not active for all m such that {circumflex over (α)}_(m)=0, i.e., if ∃{m, i} such that {circumflex over (α)}_(m)=0 and {circumflex over (λ)}_(i)=0, (65) cannot be used for m. Let {tilde over (m)} denote the pair with {circumflex over (α)}_({tilde over (m)})>0 and denote the relay with {circumflex over (λ)}_(i)=1. In other words, suppose {circumflex over (α)}_(m)=0 for m≠{tilde over (m)} in and {circumflex over (λ)}_(i)=0 for i≠ĩ. It is verified by simulations that

${\frac{{\overset{\sim}{\alpha}}_{\overset{\sim}{m}}^{*}P_{0}}{\gamma_{\overset{\sim}{m}}}f_{\overset{\sim}{m}}^{H}{\overset{\sim}{K}}_{\overset{\sim}{m}}^{*}{{}_{\;}^{}{}_{\left. m \right.\sim}^{\;}}} = 1.$

Hence, the solution (65) can be used to obtain the beamforming vector of m. Then assuming the problem (15) is feasible, then {circumflex over (P)}*_(r)={circumflex over (α)}_({tilde over (m)})σ². In order to obtain the beamforming vectors for m≠{tilde over (m)}, the following feasibility problem needs to be solved:

$\begin{matrix} {{{find}\mspace{14mu} w_{1}},,w_{\overset{.}{m} - 1},w_{\overset{\sim}{m} + 1},,w_{M}} & (67) \\ {{{{{subject}\mspace{14mu} {to}\mspace{14mu} {\max\limits_{i}{\sum\limits_{{m = 1},{m \neq \overset{\sim}{m}}}^{M}\; {w_{m}^{H}R_{m}D_{i}w_{m}}}}} + c_{i}} = {\hat{P}}_{r}^{*}},} & (68) \\ {,.} & (49) \end{matrix}$

Note that ŵ_(m) can always be scaled such that (49) is met with equality for m≠{tilde over (m)}. Substituting {circumflex over (α)}_(m)=0 into (16) results in Σ_(m=1,m≠{tilde over (m)}) ^(M)ŵ_(m) ^(H)R_(m)D_({hacek over (i)})ŵ_(m)==0. Since the constraint (60) is met with equality for ĩ, then ŵ_({tilde over (m)}) ^(H)R_({tilde over (m)})D_({hacek over (i)})ŵ_({tilde over (m)})=e_({hacek over (i)})={circumflex over (P)}*_(r). Among infinite possible solutions of ŵ_(m) for m≠{tilde over (m)}, the following algorithm is proposed. Intuitively, the maximum per relay power usage is found removing the effect of {tilde over (m)}.

$\begin{matrix} {\min\limits_{w_{1},\cdots,w_{\overset{.}{m} - 1},w_{\overset{\sim}{m} + 1},\cdots,w_{M},\hat{\delta}}\hat{\delta}} & (69) \\ {{\sum\limits_{{m = 1},{m \neq \overset{\sim}{m}}}^{M}\; {w_{m}^{H}R_{m}D_{i}w_{m}}} \leq 0} & (70) \\ {{{\sum\limits_{{m = 1},{m \neq \overset{\sim}{m}}}^{M}\; {w_{m}^{H}R_{m}D_{i}w_{m}}} \leq \hat{\delta}},{i \neq \overset{\sim}{i}},} & (71) \\ {,.} & (53) \end{matrix}$

Let {circumflex over (δ)}* denote the optimum value of (69) and suppose (71) is active for {hacek over (i)}. If {circumflex over (δ)}*+e_({hacek over (i)})≦{circumflex over (P)}*_(r), then we can find w_(m) for m≠{tilde over (m)}. The dual problem of (69) can be solved by substituting:

{circumflex over (a)}({circumflex over (m)})=0,  (72)

{circumflex over (b)}(M+{hacek over (i)})=0,  (73)

Ψ_({tilde over (m)},{tilde over (m)})=0  (74)

into SDP (57).

The above described a method and system to reduce (e.g. optimize, and in some cases, minimize) the maximum per relay power usage for a defined SNR (ie subject to a certain QoS). In another example, the proposed method can be described as follows:

Beamforming weights determination for use at a relay node RN₁,...RN_(N) that reduces (e.g. minimizes) the maximum per relay node power. Input: P₀, F_(m), G_(m), R_(m), σ², γ_(m), m = 1,...,M ; Output: A beamforming vector ŵ_(m);       Check the necessary condition for feasibility of (15) evaluating the SNR upper-bound; Solve the SDP problem (57) finding the dual variables {circumflex over (α)}, {circumflex over (μ)}, {circumflex over (λ)} ; Obtain {circumflex over (Υ)}

 {m|{circumflex over (α)}_(m) > 0} If {circumflex over (Υ)} == {1,...,M} Compute {circumflex over (K)}_(m)

 R_(m)D{circumflex over (_(λ))} + {circumflex over (α)}_(m)G_(m) (64); Compute the coefficient {circumflex over (ζ)}_(m) as in (66) and find ŵ_(m) = {circumflex over (ζ)}_(m){circumflex over (K)}_(m)ƒ_(m) (65), m = 1,...,M; else Find ŵ_(m) for all m ε {circumflex over (Υ)} ; Update â (72), {circumflex over (b)} (73), and {circumflex over (Ψ)}_(m,i) (74), m = 1,...,M , i = 1,...,N ; Solve the SDP (57) finding the dual variables for m ε {1,...,M} \ {circumflex over (Υ)} ; Compute the coefficient {circumflex over (ζ)}_(m) as in (66) and find ŵ_(m) = {circumflex over (ζ)}_(m){circumflex over (K)}_(m)ƒ_(m) (65), m ε {1,...,M} \ {circumflex over (Υ)} . end

FIG. 4 illustrates a flowchart for the minimization of a maximum per relay power usage, according to some embodiments of the current disclosure.

This flowchart discusses the actions taken as if being performed by a single node such as a network node 38. However, these steps may be performed by different nodes working together or without coordination in some embodiments. Furthermore, some of these values may be precomputed and stored in various locations if they are not expected to change. While discussed as a network node 38 performing these steps, this may be a relay node, a base station, a wireless device, or some beamforming determining node which calculates values or coordinates these calculations.

As shown in FIG. 4, the network node 38 first establishes the problem formulation and its Lagrange dual problem. This may be accomplished according to equations 15 and/or 61 discussed above (step 200). Next, in some embodiments, the necessary feasibility condition is checked as in equation 18 (step 202). Then, if the problem is feasible, the dual problem is reformulated into an SDP problem with M+2 constraints and M+N variables as in equation 57 (step 204). Then, the set of optimal dual variables is found which correspond to the SNR constraints which are active (that is, the constraints that hold with equality) (step 206). This can be noted as the set {tilde over (γ)} which includes the indexes of the SNR constraints that are active.

Next, it is determined if all of the SNR constraints for all of the subchannels and destinations are active at optimality (step 208). If they are all active, then the beamforming weights can be determined a first way, e.g., formulaically, perhaps using equation 65 as described above (step 210). If this is possible, the flowchart ends because the optimal values are already determined. However, in most realistic situations, this is not the case. If the SNR constraints are not all active, then the beamforming weights can be determined a second way, e.g., by using an iterative algorithm to solve for the optimal beamforming weights. Starting the iterative approach involves taking a new set of the subchannel indices Π, which is any arbitrary proper subset of {tilde over (γ)}. Then the set {tilde over (γ)} is reset to be the empty set (step 212). As the iterative algorithm progresses, the subchannel weights that are optimally determined are included into the set {tilde over (γ)} until that set contains all of the subchannel indices, indicating that all of the beamforming weights have been optimally determined.

The optimal beamforming weights for the subchannels in the set Π are determined, perhaps using equation 65 as discussed above (step 214). Then the SDP is reformulated to remove the effects of the subchannels in Π which have already been solved optimally. This may use equations 72, 73, and/or 74 as discussed above (step 216). The new SDP is then solved, and the newly active SNR constraints are determined. Π is again set to be an arbitrary subset of the subchannel indices that correspond to active constraints (step 218). Then, the set of optimally determined subchannel indices {tilde over (γ)} is updated to include the subchannel indices that are in Π (step 220). As discussed above, if {tilde over (γ)} now contains all of the subchannel indices (step 222), then the iterative method can end, and the remaining beamforming weights can be determined formulaically, perhaps using equation 65 (step 224). If the set {tilde over (γ)} does not yet contain all of the subchannel indices, the flowchart returns to step 214 and performs another iteration of the process. In some embodiments, this process is continued until all of the optimal beamforming weights have been determined.

Each destination node RX₁, . . . RX_(m) of cell 30 in FIGS. 1 and 2 is a wireless device or a UE. An example is shown in FIG. 5 as wireless device 40. The wireless device 40 includes one or more RF transmitters 42, and one or more RF receivers 44 for communication with network node 26 which, in one embodiment may be replaced by one or more transceivers. The wireless device 40 also includes one or more processors 46 which may be one or more central processing units (CPUs) for performing the beamforming determination process described herein. Each wireless device 40 includes a memory 48 (e.g. non-volatile and volatile memory, such as hard drive, flash memory, memory stick and the like. Also, volatile memory may include random access memory and others known in the art. If the wireless device 40 is configured to act as a relay node, the wireless device memory 48 may store program instructions such as those to perform the beamforming functionality described herein. For example, a beamforming determining module 50 includes instructions, which when executed by the processor 46, cause the wireless device 40 processor 46 to perform beamforming functions described herein.

An example of relay nodes RN₁, . . . RN_(N) in FIGS. 1 and 2 is shown in FIG. 6 as network node 60. In that example, the network node 60 includes one or more RF transmitters 62 and one or more RF receivers 64 for communication with the destination nodes RX₁, . . . RX_(m), network node 26 and other nodes, devices and servers. In one embodiment, the RF transmitter 62 and RF receiver 64 may be replaced with one or more transceivers. The network node 60 includes one or more processors 66 which may be one or more central processing units (CPUs) for performing the beamforming determination functions described herein. The network node 60 also includes a memory 68 that stores the beamforming determination functions, among other modules and data. In particular, the memory 68 may include non-volatile and volatile memory. For example, non-volatile memory may include a hard drive, flash memory, memory stick and the like. Also, volatile memory may include random access memory and others known in the art. The network node memory 68 may store program instructions such as those for a beamforming determining module 70. For example, the beamforming determining module 70 includes instructions, which when executed by the network node processor 66, cause the processor to perform the beamforming determination process, described herein.

FIG. 7 illustrates another example of the wireless device 40 of FIGS. 1 and 2 including a transmit module 74, a receive module 76, and a beamforming determining module 78, according to some embodiments of the current disclosure. The transmit module 74, the receive module 76, and the beamforming determining module 78 are each implemented in software that, when executed by a processor of wireless device 40, causes the wireless device 40 to operate according to one of the embodiments described herein. The transmit module 74 and the receive module 76 operate to transmit and receive information from other nodes, as described above. The beamforming determining module 78 operates to determine beamforming weights or any intermediate values that may be processed by other nodes such as a network node 60 which could be a relay node or a beamforming determining node.

FIG. 8 illustrates another example of the network nodes 60 of FIGS. 1 and 2 including a transmit module 80, a receive module 82, and a beamforming determining module 84, according to some embodiments of the current disclosure. The transmit module 80, the receive module 82, and the beamforming determining module 84 are each implemented in software that, when executed by a processor of network node 60, causes the network node 60 to operate according to one of the embodiments described herein. The transmit module 80 and the receive module 82 operate to transmit and receive information from other nodes, as described above. The beamforming determining module 84 operates to determine beamforming weights or any intermediate values that may be processed by other nodes such as a wireless device 40 or a relay node or a beamforming determining node.

In some embodiments, a computer program including instructions which, when executed by at least one processor, causes the at least one processor to carry out the functionality of determining the beamforming weights according to any one of the embodiments described herein is provided. In some embodiments, a carrier containing the aforementioned computer program product is provided. The carrier is one of an electronic signal, an optical signal, a radio signal, or a computer readable storage medium (e.g., a non-transitory computer readable medium such as memory).

The following acronyms are used throughout this disclosure.

3GPP 3rd Generation Partnership Project AP Access Point BTS Base Transceiver Station CMAS Commercial Mobile Alert System CN Core Network CSI Channel State Information D2D Device-to-device DAS Distributed Antenna System EDGE Enhanced Data rates for GSM Evolution eNB eNodeB E-UTRAN Evolution UMTS Terrestrial Radio Access Network FDD Frequency-Division Duplexing GERAN GSM Enhanced Data rates for GSM Evolution (EDGE) Radio Access Network GPS Global Positioning System GSM Global System for Mobile Communication LEE Laptop Embedded Equipped LME Laptop Mounted Equipment LTE Long Term Evolution M2M Machine-to-Machine MME Mobility Management Entity MTC Machine Type Communication PDA Personal Digital Assistant PLMN Public Land Mobile Network (PLMN) PRB Physical Resource Block PWS Public Warning System QoS Quality of Service RB Resource Block RRH Remote Radio Head RRU Remote Radio Unit SC Single Carrier SDP Semidefinite Programming SOCP Second Order Cone Programming TDD Time-Division Duplexing USB Universal Serial Bus UE User Equipment UTRA Universal Mobile Telecommunications System Terrestrial Radio Access Network WCDMA Wide band code division multiple access

Those skilled in the art will recognize improvements and modifications to the preferred embodiments of the present disclosure. All such improvements and modifications are considered within the scope of the concepts disclosed herein and the claims that follow. 

1. A method of operation of a network node in a cellular communications system comprising: determining beamforming weights for a plurality of subchannels for each of a plurality of relay nodes such that a parameter is minimized for a defined channel quality, the parameter being one of the group consisting of a maximum per subchannel interference and a maximum per relay power usage, wherein determining the beamforming weights comprises: determining a dual problem of the minimization of the parameter where a solution maximizing the dual problem will minimize the parameter; reformulating the dual problem into a semidefinite programming (SDP) problem; determining if a plurality of signal-to-noise ratio (SNR) constraints are all active; if the plurality of SNR constraints are all active, solving the SDP problem and determining the beamforming weights for each of the plurality of relay nodes a first way such that the parameter is minimized; and if the plurality of SNR constraints are not all active, solving the SDP problem and determining the beamforming weights for each of the plurality of relay nodes a second way such that the parameter is minimized.
 2. The method of claim 1 further comprising communicating the determined beamforming weights to each of the plurality of relay nodes.
 3. The method of claim 1 wherein solving the SDP problem the second way comprises solving a sequence of SDP problems and determining the beamforming weights for each of the plurality of relay nodes using an iterative method such that the parameter is minimized.
 4. The method of claim 3 wherein solving the sequence of SDP problems using the iterative method comprises: choosing a proper subset of the plurality of subchannels; determining beamforming weights for the proper subset of the plurality of subchannels such that the parameter is minimized; reformulating the SDP problem to remove effects of the proper subset of the plurality of subchannels; if solving the reformulated SDP problem is sufficient to obtain the beamforming weights for the plurality of subchannels other than the proper subset of the plurality of subchannels, solving the reformulated SDP problem to obtain the beamforming weights for the plurality of subchannels other than the proper subset of the plurality of subchannels; and if solving the reformulated SDP problem is insufficient to obtain the beamforming weights for the plurality of subchannels other than the proper subset of the plurality of subchannels: choosing a second proper subset of the plurality of subchannels from the plurality of subchannels other than the first proper subset; determining beamforming weights for the second proper subset of the plurality of subchannels such that the parameter is minimized; reformulating the SDP problem to remove effects of the second proper subset of the plurality of subchannels; and if solving the reformulated SDP problem is sufficient to obtain the beamforming weights for the plurality of subchannels other than the second proper subset of the plurality of subchannels, solving the reformulated SDP problem to obtain the beamforming weights for the plurality of subchannels other than the second proper subset of the plurality of subchannels.
 5. The method of claim 4 further comprising repeating the steps of choosing, determining, reformulating, and solving if the reformulated SDP problem cannot be solved to obtain the beamforming weights for the plurality of subchannels other than the proper subset of the plurality of subchannels, until the beamforming weights for all of the plurality of subchannels are determined.
 6. The method of claim 1 wherein solving the SDP problem the first way comprises solving the SDP problem and determining the optimal beamforming weights formulaically.
 7. The method of claim 1 further comprising, prior to reformulating the dual problem into the SDP problem, checking a necessary feasibility condition.
 8. The method of claim 1 wherein the network node is a base station in communication with each of the plurality of relay nodes.
 9. The method of claim 1 wherein the parameter is the maximum per subchannel interference subject to a channel quality constraint.
 10. The method of claim 1 wherein the parameter is the maximum per relay power usage subject to a channel quality constraint.
 11. A network node in a cellular communications network, comprising: a processing module; and a memory module storing instructions executable by the processing module whereby the network node is operable to: determine beamforming weights for a plurality of subchannels for each of a plurality of relay nodes such that a parameter is minimized subject to a channel quality constraint, the parameter being one of the group consisting of a maximum per subchannel interference and a maximum per relay power usage, wherein, in order to determine the beamforming weights, the network node is operable to: determine a dual problem of the minimization of the parameter where a solution maximizing the dual problem will minimize the parameter; reformulate the dual problem into a semidefinite programming (SDP) problem; determine if a plurality of signal-to-noise ratio (SNR) constraints are all active; if the plurality of SNR constraints are all active, solve the SDP problem and determine the beamforming weights for each of the plurality of relay nodes a first way such that the parameter is minimized; and if the plurality of SNR constraints are not all active, solve the SDP problem and determine the beamforming weights for each of the plurality of relay nodes a second way such that the parameter is minimized.
 12. The network node of claim 11 further operable to communicate the determined beamforming weights to each of the plurality of relay nodes.
 13. The network node of claim 11 wherein being operable to solve the SDP problem the second way comprises being operable to solve a sequence of SDP problems and determining the beamforming weights for each of the plurality of relay nodes using an iterative method such that the parameter is minimized.
 14. The network node of claim 13 wherein being operative to solve the sequence of SDP problems using the iterative method comprises being operable to: choose a proper subset of the plurality of subchannels; determine beamforming weights for the proper subset of the plurality of subchannels such that the parameter is minimized; reformulate the SDP problem to remove effects of the proper subset of the plurality of subchannels; if solving the reformulated SDP problem is sufficient to obtain the beamforming weights for the plurality of subchannels other than the proper subset of the plurality of subchannels, solve the reformulated SDP problem to obtain the beamforming weights for the plurality of subchannels other than the proper subset of the plurality of subchannels; and if solving the reformulated SDP problem is insufficient to obtain the beamforming weights for the plurality of subchannels other than the proper subset of the plurality of subchannels: choose a second proper subset of the plurality of subchannels from the plurality of subchannels other than the first proper subset; determine beamforming weights for the second proper subset of the plurality of subchannels such that the parameter is minimized; reformulate the SDP problem to remove effects of the second proper subset of the plurality of subchannels; and if solving the reformulated SDP problem is sufficient to obtain the beamforming weights for the plurality of subchannels other than the second proper subset of the plurality of subchannels, solve the reformulated SDP problem to obtain the beamforming weights for the plurality of subchannels other than the second proper subset of the plurality of subchannels.
 15. The network node of claim 14 further operable to repeat the steps of choosing, determining, reformulating, and solving if the reformulated SDP problem cannot be solved to obtain the beamforming weights for the plurality of subchannels other than the proper subset of the plurality of subchannels, until the beamforming weights for all of the plurality of subchannels are determined.
 16. The network node of claim 11 wherein being operable to solve the SDP problem the first way comprises being operable to solve the SDP problem and determine the optimal beamforming weights formulaically.
 17. The network node of claim 11 further operable to, prior to reformulating the dual problem into the SDP problem, check a necessary feasibility condition.
 18. The network node of claim 11 wherein the network node is a base station in communication with each of the plurality of relay nodes.
 19. The network node of claim 11 wherein the parameter is the maximum per subchannel interference.
 20. The network node of claim 11 wherein the parameter is the maximum per relay power usage. 